package group.idealworld.dew.devops.kernel.helper;

import io.kubernetes.client.openapi.ApiException;
import io.kubernetes.client.openapi.apis.*;
import okhttp3.Call;

/**
 * Kubernetes watch 回调.
 *
 * @author gudaoxuri
 */
@FunctionalInterface
public interface KubeWatchCall {

    /**
     * Call.
     *
     * @param coreApi              the core api
     * @param appsApi              the apps api
     * @param networkingV1Api      the networking api
     * @param rbacAuthorizationApi the rbac authorization api
     * @param autoscalingApi       the autoscaling api
     * @return the call
     * @throws ApiException the api exception
     */
    Call call(CoreV1Api coreApi, AppsV1Api appsApi, NetworkingV1Api networkingV1Api,
            RbacAuthorizationV1Api rbacAuthorizationApi, AutoscalingV2beta2Api autoscalingApi) throws ApiException;

}
